﻿using Core.Audit;
using Core.Common.Interfaces;
using Core.Domain.Entities;
using Microsoft.EntityFrameworkCore;

namespace Core.Identity.Common.Interfaces.Common.Interfaces;

public interface IIdentityDbContext : IApplicationDbContext
{
    DbSet<Permission> Permissions { get; }
    DbSet<Role> Roles { get; }
    DbSet<RolePermission> RolePermissions { get; }
    DbSet<User> Users { get; }
    DbSet<UserRole> UserRoles { get; }
    DbSet<Organization> Organizations { get; }
    DbSet<UserOrganization> UserOrganizations { get; }
    DbSet<TenantPermissionHistory> TenantPermissionHistories { get; }
    DbSet<TenantPermission> TenantPermissions { get; }
    DbSet<UserProfile> UserProfiles { get; }
    DbSet<AuditTrail> AuditTrails { get; }
}
